package com.tzy.myassets.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tzy.common.entity.MyAssets;
import com.tzy.myassets.mapper.MyAssetsMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.sql.Timestamp;
import java.util.List;

/**
 * <p>
 * 我的资产表(优惠红包, 卡券等) 服务实现类
 * </p>
 *
 * @author 刘同学
 * @since 2022-03-02
 */
@Service
public class MyAssetsService extends ServiceImpl<MyAssetsMapper, MyAssets> implements IMyAssetsService {
    @Resource
    private MyAssetsMapper myAssetsMapper;

    /**
     * 添加数据
     * @param entity
     * @return
     */
//    public int assetsAdd(MyAssets assets) {
//        int jg = myAssetsMapper.assetsAdd(assets);
//        if (jg>0) {
//            return jg;
//        }
//        return 0;
//    }


    @Override
    public boolean save(MyAssets entity) {
        int jg = myAssetsMapper.insert(entity);
        if(jg>0){
            return true;
        }
        return false;
    }

    /**
     * 查询红包
     * @return 返回数据集
     */
    public List<MyAssets> assetsSel(int id){
        return myAssetsMapper.assetsSel(id);
    }

    /**
     * 后台资产查询分页
     * @param pageNum 起始位
     * @param size 每页总条数
     * @return
     */
    public Page<MyAssets> assetsPage(Integer pageNum, Integer size){
        if( pageNum!=null && size!=null ){
            if(pageNum <= 0 ){
                pageNum = 0;
            }else{
                pageNum=(pageNum-1)*size;
            }
        }
        List<MyAssets> list = myAssetsMapper.assetsPage(pageNum, size);
        Page<MyAssets> page = new Page<>();
        page.setRecords(list);
        page.setTotal(myAssetsMapper.findTotal());
        return page;
    }

    /**
     * 删除代金券
     * @param id 代金券id
     * @return 返回受影响行数
     */
    public int assetsDel(Integer id){
        if (id>0){
            return myAssetsMapper.assetsDel(id);
        }
        return 0;
    }

    /**
     * 修改
     * @param userId 用户id
     * @param deadline 是否过期
     * @return
     */
    public int assetsUpd(Integer userId, Timestamp deadline){
        if (userId>0&&deadline!=null){
            return myAssetsMapper.assetsUpdate(userId, deadline);
        }
        return 0;
    }

    /**
     * 查询总条数
     * @return
     */
    public int findTotal(){
        int jg = myAssetsMapper.findTotal();
        return jg;
    }
    /**
     * 查询商家代金券
     * @param id
     * @return
     */
    public List<MyAssets> assetsSelShop(int id){
        return myAssetsMapper.assetsSelShop(id);
    }

    /**
     * 查询近7天已使用的优惠券
     * @param id 用户id
     * @return
     */
    public List<MyAssets> nearlySevenUseDate(int id){
        return myAssetsMapper.nearlySevenUseDate(id);
    }

    /**
     * 更新use
     * @param userId 用户id
     * @return
     */
    public int updateUse(Integer userId){
        if(userId>0){
            return myAssetsMapper.updateUse(userId);
        }
        return 0;
    }
}
